/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package jogodecartas.core;

import java.util.ArrayList;
import java.util.Stack;

/**
 *
 * @author Diego
 */
public class PilhaDeCartas {

    Baralho baralho;
    ArrayList cartasViradas;

    public PilhaDeCartas() {
    }

    public Baralho getBaralho() {
        return baralho;
    }

    public ArrayList getCartasViradas() {
        return cartasViradas;
    }

    public void setCartasViradas(ArrayList cartasViradas) {
        this.cartasViradas = cartasViradas;
    }

    public void startBaralho() {
        baralho = new Baralho();
        cartasViradas = new ArrayList();
        baralho.baralhar();
    }

    public Carta primeiraCarta(Stack s) {
        if (s.empty()) {
            return null;
        } else {
            return (Carta) s.peek();
        }
    }

    public Carta pegarCarta(Stack s) {
        if (s.empty()) {
            return null;
        } else {
            return (Carta) s.pop();
        }
    }

    public void inserirCarta(Carta c, Stack s) {
        s.push(c);
    }

    public int totalDeCartas(Stack s) {
        return s.size();
    }

    public void transferirPilha(Stack cheia, Stack vazia) {
        while (!cheia.isEmpty()) {
            vazia.push(cheia.pop());
        }
    }

    public String mostrarPilha(Stack s) {
        Carta carta = null;
        String aux = "";
        for (int i = 0; i < s.size(); i++) {
            carta = (Carta) s.get(i);
            if (!carta.isEstado()){
                aux = aux + "[x], ";
            }
            if (carta.isEstado()) {
                aux = aux + s.get(i).toString() + ", " ;
            }

        }
        return aux;

    }

    public Carta virarCarta(Carta c){
        c.setEstado(true);
        return c;
    }
}
